package beanstao.util.store.database.interfaces;

import beanstao.util.store.database.Fields;

/**
 * 获得 WHERE 条件。其中也可以包括 ORDER BY 和 GROUP BY 以及数据库可以支持的东西。 将返回的字符串拼接在 WHERE 后面。<br>
 * 默认提供给 Where 类，便于快速构建条件语句。<br>
 * 这个接口也提供另外一种可能: 例如 Web 应用，可以通过 Request，根据用户提交的数据 生成 一个这个接口的实例。
 * 
 */
public interface ICondition
{

	/**
	 * 根据一个实体可以生成一个条件，这个条件就是 ISql 'WHERE' 关键字后面的那部分。
	 * <p>
	 * 当然返回的字符串如果不是以 WHERE 或者 ORDER BY 开头，将会被加上 WHERE。
	 * <p>
	 * 字符串前后的空白会被截除
	 * 
	 * @param domain 实体
	 * @return 条件字符串
	 */
	String toSql(Fields columns);
}
